
#ifndef __LOG_INITIALIZER___
#define __LOG_INITIALIZER___

#include "log.h"
#include <string>
#include "Config/Properties.h"

namespace woe
{
	class TUTIL_API LogInitializer
	{
	public:
		//
		//	Default Initializer
		//
		LogInitializer();

		//
		//	Default Initializer with console or file
		//
		LogInitializer(bool to_console, bool to_file, const string& file_name = TS("run.log"));

		//
		//	Config Initializer, dynamic create the logger and all log targets base on simple properties file
		//
		LogInitializer(const string& config_file_name);

		//
		//	Config Initializer, initialize from a specif properties
		//
		LogInitializer(Properties& props);

	protected:
		void initialize(Properties& props);
	};

}

#endif
